Streaming a video chat from a mobile device to a display device using a rotating base

ABSTRACT

Provided herein are system, apparatus, device, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for streaming a video chat from a mobile device on a display device. In a given embodiment, a first mobile device and second video device can communicate audio and video data to one another, via a video chat. The incoming audio and video data for the first mobile device can be streamed to and output by an external display device. The streaming request is generated in response to the first mobile device coupling with a rotating base, controlled by the first mobile device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation Application of U.S. Utilityapplication Ser. No. 17/028,561, filed on Sep. 22, 2020, the contents ofwhich are incorporated herein by reference in their entirety.

BACKGROUND Technical Field

This disclosure is generally directed to streaming video and audio datato a display device.

Background

Users use mobile devices such as smartphones, laptops, tablets, and thelike to video chat with their family and friends. However, the screensof mobile devices are often too small for this purpose. For example, inthe event a user is attempting to video chat with their family, the usercan find it difficult to view all their family members in a smalldisplay of a mobile device. Conventional systems do not provide thecapability of seamlessly connecting the mobile device to a largerdisplay device to stream the video chat. Therefore, the process ofconnecting the mobile device to a larger display device can becumbersome.

SUMMARY

Provided herein are system, apparatus, device, method and/or computerprogram product embodiments, and/or combinations and sub-combinationsthereof, for streaming a video chat from a mobile device on a displaydevice.

A given embodiment includes a method for streaming a video chat from amobile device on a display device. The method may operate by receiving astreaming request to stream incoming audio and video data received by afirst mobile device from a second mobile device on a display device,from the first mobile device, and establishing a connection with thedisplay device. The method can further operate by capturing the incomingaudio and video data transmitted by the second mobile device to thefirst mobile device, formatting the incoming audio and video data to beoutput by the display device and streaming the incoming formatted audioand video data to the display device. The display device outputs theincoming formatted audio and video data in response to receiving theincoming formatted audio and video data.

Another embodiment includes a system for streaming a video chat from amobile device from a mobile device to a display device. The systemincludes a camera, a microphone, and a first mobile device coupled tothe camera and microphone. The first mobile device is configured toexecute an application. The application, when executed, is configured totransmit a chat request for initiating an audio and video chat with asecond mobile device. Initiation of the audio and video chat enables thefirst mobile device to transmit and receive audio and videocommunication to and from the second mobile device. The application isfurther configured to establish a connection between the first mobiledevice and a rotating base and transmit a streaming request to streamincoming audio and video data received by the first mobile device fromthe second mobile device to a display device, in response toestablishing a connection with the rotating base. The incoming audio andvideo data is output by the display device in response to transmittingthe streaming request. The application is further configured to captureoutgoing audio and video data from the microphone and camera of thefirst mobile device and transmit the outgoing audio and video data tothe second mobile device.

A further embodiment includes a rotating base. The rotating baseincludes a motor, a communications device, a rotatable unit coupled tothe motor, a coupling unit coupled to the rotatable unit, and acontroller coupled to the motor and the communications device. Thecontroller is configured to establish a connection with a mobile deviceusing the communications device in response to the mobile devicetransmitting a request to connect with the rotating base and receive themobile device in the coupling unit. The mobile device is communicativelycoupled to the rotating base using the communications device andphysically coupled to the rotating base using the coupling unit. Thecontroller is further configured to receive instructions to move therotatable unit a predetermined amount from an application executing onthe mobile device and instruct the motor to rotate the rotatable unitthe predetermined amount. Rotating the rotatable unit causes thecoupling unit, which is physically coupled to the mobile device, torotate the predetermined amount.

A further embodiment includes a tangible computer-readable device havinginstructions stored thereon that, when executed by at least onecomputing device, causes the at least one computing device to performoperations. The operations may include receiving a streaming request tostream incoming audio and video data received by a first mobile devicefrom a second mobile device on a display device, from the first mobiledevice, and establishing a connection with the display device. Theoperations further include capturing the incoming audio and video datatransmitted by the second mobile device to the first mobile device,formatting the incoming audio and video data to be output by the displaydevice, and streaming the incoming formatted audio and video data to thedisplay device. The display device outputs the incoming formatted audioand video data in response to receiving the incoming formatted audio andvideo data.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are incorporated herein and form a part of thespecification.

FIG. 1 is a block diagram of a system for streaming a video chat from amobile device to a display device, according to some embodiments.

FIG. 2 is a block diagram of data flow in the system for streaming avideo chat from a mobile device to a display device, according to someembodiments.

FIG. 3 is a block diagram of a rotatable base, according to exampleembodiments.

FIG. 4 is a flowchart illustrating a process for streaming a video chaton a display device, according to some embodiments.

FIG. 5 is a flowchart illustrating a converting data tracking a userwithin the field of view of a camera of the mobile device, according tosome embodiments.

FIG. 6 is a block diagram of example components of a mobile deviceaccording to some embodiments.

FIG. 7 is an example computer system useful for implementing variousembodiments.

In the drawings, like reference numbers generally indicate identical orsimilar elements. Additionally, generally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

DETAILED DESCRIPTION

Provided herein are system, apparatus, device, method and/or computerprogram product embodiments, and/or combinations and sub-combinationsthereof, for streaming a video chat from a mobile device on a displaydevice.

As indicated above, a user can desire to view a display of a video chaton a larger display device. As such, the user can desire to stream thedisplay of the video chat on a larger display. Conventional methods forattaching a display device to a mobile device are cumbersome andcomplicated.

In a given embodiment, a first user can use a first mobile device totransmit a video chat request to a server to initiate a video chat witha second user using a second mobile device. The server can enablecommunication between the first and second mobile devices in response toreceiving the video request. The communication can include audio andvideo data. The audio data can be received through the microphones ofthe first and second mobile devices, and the video data can be receivedthrough the cameras of the first and second video devices.

The first user can couple the first mobile device to a rotating base tostream the video chat on a display device, such as a television. Therotating base can include a rotatable unit coupled to a coupling unit, amotor coupled to the rotatable unit, and a controller coupled to themotor. The rotating base can also include a communication device coupledto the controller. The mobile device can be communicatively coupled tothe rotating base using the communication device. Furthermore, themobile device can be physically coupled to the rotating device using thecoupling unit. In response to the first mobile device beingcommunicatively coupled to the rotating base, a streaming request can betransmitted to the server. The server can form a connection between thedisplay device and the first mobile device. The incoming audio and videodata received by the first mobile device can be output by the displaydevice.

An application executing on the first mobile device can use the cameraof the first mobile device to determine whether the first mobile deviceneeds to be moved based on the movement of the first user to keep thefirst user is within the field of view of the camera. The camera of thefirst mobile device can capture the movement of the first user (e.g., anobject) in the field of view of the camera. The application determinesan amount that the first mobile device needs to be moved to keep thefirst user within the field of view. The application transmits aninstruction to the rotating base to rotate the rotatable unit thedetermined amount. In response to receiving the instruction, thecontroller can instruct the motor to move the rotatable unit by thedetermined amount. By doing so, the rotatable unit can move the couplingunit holding the first mobile device.

The above configuration allows for seamlessly streaming audio and videodata of a video chat on a display device, such as a television, to namejust one example. Furthermore, this configuration allows for ahands-free experience while the user is participating in the video chat.

FIG. 1 is a block diagram of a system for streaming a video chat from amobile device to a display device. In an embodiment, the system caninclude a server 100, first mobile device 120, display device 132,rotating base 140, and second mobile device 150. Server 100, firstmobile device 120, and second mobile device 150 can be connected throughwired connections, wireless connections, or a combination of wired andwireless connections. Furthermore, server 100 and display device 132 canbe connected through wired connections, wireless connections, or acombination of wired and wireless connections.

As an example, server 100, first mobile device 120, and second mobiledevice 150 can be connected through a network. Server 100 and displaydevice 132 can also be connected through the network. The network can bean ad hoc network, an intranet, an extranet, a virtual private network(VPN), a local area network (LAN), a wireless LAN (WLAN), a wide areanetwork (WAN), a wireless wide area network (WWAN), a metropolitan areanetwork (MAN), a portion of the Internet, a portion of the PublicSwitched Telephone Network (PSTN), a cellular telephone network, awireless network, a WiFi network, a WiMax network, any other type ofnetwork, or a combination of two or more such networks.

Rotating base 140 can include communication device 142. First mobiledevice 120 can be communicatively coupled to communication device 142 ofrotating base 140 through a wired or wireless connection. For example, adata cable coupled to a data port of first mobile device 120 can beconnected to communication device 142. In some embodiments,communications device 142 can be a Near Field Communication (NFC)device, such as a Bluetooth® device. Therefore, first mobile device 120can be wirelessly coupled to communication device 142.

Server 100 can include streaming system 102 and video chat system 104.Streaming system 102 can be configured to stream incoming video andaudio data to display device 132. Video chat system 104 can beconfigured to facilitate a video chat between first mobile device 120and second mobile device 150. In this regard, first mobile device 120and second mobile device 150 can transmit and receive audio and videodata to and from one another through video chat system 104.

First mobile device 120 can include a first display 122, first speaker123, first microphone 124, application 126, first camera 128, and firstvideo chat application 130. First microphone 124 can be configured toreceive and capture audio input. First speaker 123 can output audiodata. First speaker 123 may be built-in to first mobile device 120 or beexternal to first mobile device 120. If first speaker 123 is external tofirst mobile device 120, it may be coupled to first mobile device usinga wired or wireless connection. First camera 128 can be configured toreceive and capture image data, including still image data and videodata. First camera 128 can also include sensor 129. Sensor 129 can be anoptical sensor configured to track the movement of an object within thefield of view of first camera 128.

First video chat application 130 can be a video chat platform orVoice-over-IP (VOIP) system configured to allow first mobile device 120to transmit and receive audio and video data to and from another mobiledevice, such as second mobile device 150. First video chat application130 can communicate with another mobile device (e.g., second mobiledevice 150), through video chat system 104. Alternatively, first videochat application 130 can be a third-party video chat platform configuredto communicate with the other mobile device using a third-party videochat system, such as Zoom®, WebEX®, GOOGLE Hangouts®, Microsoft Teams®,or the like. Furthermore, first video chat application 130 can be athird-party Voice-over-IP (VoIP), such as Skype®, Messenger®, WhatsApp®,FaceTime®, or the like.

Application 126 can be a streaming application. Application 126 can beconfigured to transmit a request to server 100 to stream audio and videodata of a video chat from first mobile device 120 to display device 132.Display device 132 can output the audio and video data. Application 126can also be configured to track a user's movement within the field ofview of first camera 128, using sensor 129.

Second mobile device 150 can include a second display 152, secondspeaker 153, second microphone 154, second camera 156, and second videochat application 151. The second microphone 154 can be configured toreceive and capture audio input. Second speaker 153 can output audiodata. Second speaker 153 may be built-in to second mobile device 150 orbe external to second mobile device 150. If second speaker 153 isexternal to second mobile device 150, it may be coupled to first mobiledevice using a wired or wireless connection. Second camera 156 can beconfigured to receive and capture image data, including still image dataand video data. Second video chat application 151 can be a video chatplatform or Voice-over-IP (VOIP) system configured to allow secondmobile device 150 to transmit and receive audio and video data to andfrom another mobile device, such as first mobile device 120.

Display device 132 can include a display 134, display speaker 136, andapplication 138. Display 134 can output still and moving image data(e.g., video data). Display speaker 136 can be configured to outputaudio data. Application 138 can be a streaming application configured toreceive audio and video data from first mobile device 120 to be outputby display 134 and display speaker 136. Display device 132 can be atelevision, monitor, projector screen, or the like.

Rotating base 140 can be a base configured to hold, support, and rotatea mobile device (e.g., first mobile device 120). Rotating base 140 caninclude a rotatable unit, a coupling unit, communication device 142,motor 144, and controller 146. The rotatable unit and coupling unit willbe described in further detail with respect to FIG. 2. Controller 146can be coupled to communication device 142 and motor 144. Furthermore,motor 144 can be coupled to the rotatable unit, and the rotatable unitcan be coupled to the coupling unit.

Rotating base 140 can be physically coupled to first mobile device 120using the coupling unit. The coupling unit can include an attachmentmechanism to hold and support first mobile device 120. The attachmentmechanism can include clasps, latches, magnets, or the like.

In some embodiments, rotating base 140 can be configured to providepower to first mobile device 120 in response to physically coupling tothe first mobile device 120. The power can be provided through a cordforming a connection between rotating base 140 and first mobile device120. The cord may receive power through a power outlet. Alternatively,the cord may receive power from rotating base 140's or display device132's power source. through a USB port.

In some embodiments, the rotating base 140 or display device 132 mayalso wirelessly provide power to first mobile device 120 using the QiStandard.

As described above, the coupling unit can be coupled to the rotatableunit. The rotatable unit can be an arm or ball, configured to rotatearound a rotational axis. The rotatable unit can rotate the couplingunit and, in turn, rotate first mobile device 120, which is physicallycoupled to the coupling unit. The rotatable unit can also traverse alongthe x-axis and z-axis. Motor 144 can control the operation (e.g.,rotation) of the rotating unit.

Rotating base 140 can be communicatively coupled to first mobile device120 using communication device 142. Communication device 142 can be adata port configured to form a connection with first mobile device usinga data cable. Alternatively, communication device 142 can be an NFCdevice such as a Bluetooth® device, configured to connect with firstmobile device 120 wirelessly.

In response to receiving first mobile device 120 being physically andcommunicatively coupled with rotating base 140, controller 146 canreceive instructions from first mobile device 120 to rotate therotatable unit a predetermined amount. Controller 146 can instruct themotor to rotate the rotatable unit the predetermined amount.

FIG. 2 is a block diagram illustrating a data flow of the system forstreaming a video chat from a mobile device to a display device. In agiven embodiment, a first user of first mobile device 120 can attempt toinitiate a video chat with a second user of second mobile device 150using first video chat application 130 of first mobile device 120 andsecond video chat application 151 of second mobile device 150. As anexample, first video chat application 130 and first video chatapplication 130 can be a video chat platform or VoIP platform. In theevent first video chat application 130 and second video chat application151 are VoIP platforms, first video chat application 130 can convert theaudio and video data into a digital signal. This way, the audio, andvideo data can be transmitted over a network.

First mobile device 120 can launch first video chat application 130.First, mobile device 120 can retrieve an identifier associated withsecond mobile device 150 (e.g., phone number, user identifier, username,screen name, or the like). First mobile device 120 can transmit request200-1 to video chat system 104 for initiating a video chat with secondmobile device 150. Request 200-1 can include the identifier associatedwith second mobile device 150.

Server 100 can receive request 200-1 and video chat system 104 canidentify second mobile device 150 using the identifier in request 200-1.Video chat system 104 can transmit request 200-2 to initiate the videochat with second mobile device 150. Request 200-2 can include anidentifier of first mobile device 150.

In response to receiving request 200-2, second mobile device 150 canlaunch second video chat application 151. Second video chat application151 can generate an alert indicating that request to initiate a videochat with first mobile device 120. The alert can be audible, haptic,visual, or a combination of both. The second user can accept the requestto initiate the video chat by providing an input (e.g., selecting an“accept” button). In response to the second user accepting the requestto initiate the video chat, second video chat application 151 cantransmit response 200-3 to video chat system 104. Response 200-3 caninclude an instruction to initiate the video chat with first mobiledevice 150.

Server 100 can receive response 200-3, and video chat system 104 cangenerate response 200-4. Response 200-4 can enable audio and video datatransmissions between first mobile device 120 and second mobile device150. Video chat system 104 can transmit response 200-4 to first videochat application 130 of first mobile device 120. In some embodiments,the audio and video transmissions may also allow for screen sharingcapabilities. As such, the video data may include image data of a firstmobile device 120 or second mobile device 150 corresponding to imagedata being displayed on first display 122 or second display 152.

At the time the video chat is initiated, first video chat application130 of first mobile device 120 and second video chat application 151 ofsecond mobile device 150 can negotiate a format for compressing,encoding, decoding, and syncing the outgoing audio and video data. Thenegotiated format can be a format accepted by first and second mobiledevices 120 and 150 as well as the network connection. This way, firstvideo chat application 130 can compress, encode, and sync audio andvideo in a format that can be decompressed and decoded by second videochat application 151. Similarly, second video chat application 151 cancompress, encode, and sync audio and video in a format that can bedecompressed and decoded by first video chat application 130.Furthermore, the compression, encoding, decoding, and syncing formatscan be updated during the video chat using adaptive streaming based onthe network connection, quality of the video, or the like.

In response to receiving response 200-4, first video chat application130 can make first camera 128 and first microphone 124 operational.First camera 128 can receive and capture outgoing video data within afield of view of first camera 128. First microphone 124 can receive andcapture outgoing audio data within a given proximity of first mobiledevice 120. First video chat application 130 can transmit the capturedoutgoing video and audio data to second video chat application 151 ofsecond mobile device 150, through video chat system 104.

In some embodiments, first mobile device 120 and second mobile device150 may form a peer-to-peer connection after the initiation of the videochat. In this regard, first and second mobile devices 120, 150 maydirectly transmit audio and video data to each other over a networkusing first and second video chat application 130 and 151.

Second video chat application 151 of second mobile device 150 canreceive the incoming audio, and video data from first video chatapplication 130 of first mobile device 150. Second video chatapplication 151 can cause display of the incoming video data on seconddisplay 152 and output the incoming audio data through a second speaker153 of second mobile device 150. Speaker 153 can be built-in secondmobile device 150 or can be externally connected to second mobile device150

Second camera 156 can receive and capture outgoing video data within afield of view of second camera 156. Second microphone 154 can receiveand capture outgoing audio data within a given proximity of secondmobile device 150. Second video chat application 151 can transmit thecaptured outgoing video and audio data to first video chat application130 of first mobile device 120 through video chat system 104. As statedabove, first and second mobile device 120, 150 may also transmit audioand video communication directly to one another over a peer-to-peerconnection.

First video chat application 130 of first mobile device 150 can receivethe incoming audio and video data from second video chat application 151of second mobile device 150. First video chat application 130 can causedisplay of the incoming video data on first display 122 and output theincoming audio data through a first speaker 123 of first mobile device120. First speaker 123 can be built-in first mobile device 120 or can beexternally connected to first mobile device 120. The audio and videodata transmissions and output between first mobile device 120 and secondmobile device 150 can be in (near) real-time.

In some embodiments, first video chat application 130 of first mobiledevice 150 and second video chat application 151 of second mobile device150 can be a third-party video chat platform, such as Zoom®, CISCOWebex®, GOOGLE Hangouts®, MICROSOFT Teams®, or the like. Alternatively,first video chat application 130 of first mobile device 150 and secondvideo chat application 151 of second mobile device 150 can be athird-party VOIP platform such as SKYPE, MESSENGER, FACETIME orWHATSAPP. In the event, first video chat application 130 of first mobiledevice 120 and second video chat application 151 of second mobile device150 are third-party video chat platforms or third-party VoIP platform,first video chat application 130 of first mobile device 150 and secondvideo chat application 151 of second mobile device 150 can communicatethrough a third-party server.

In some embodiments, first and second mobile device may transmit orstream audio and video data directly to one another using first videochat application 130 and second video chat application 151. That is,first mobile device 120 can launch first video chat application 130.First video chat application 130 may transmit a request to initiate avideo chat to second video chat application 151 of second mobile device150.

In response to receiving the video chat request, second video chatapplication 151 can generate an alert indicating that request toinitiate a video chat with first mobile device 120. In response to thesecond user accepting the request to initiate the video chat, secondvideo chat application 151 can transmit a response to first video chatapplication 130 including an instruction to initiate the video chat withfirst mobile device 150.

At the time the video chat is initiated, first video chat application130 of first mobile device 120 and second video chat application 151 ofsecond mobile device 150 can negotiate a format for compressing,encoding, decoding, and syncing the outgoing audio and video data. Thenegotiated format can be a format accepted by first and second mobiledevices 120 and 150 as well as the network connection. This way, firstvideo chat application 130 can compress, encode, and sync audio andvideo in a format that can be decompressed and decoded by second videochat application 151. Similarly, second video chat application 151 cancompress, encode, and sync audio and video in a format that can bedecompressed and decoded by first video chat application 130.Furthermore, the compression, encoding, decoding, and syncing formatscan be updated during the video chat using adaptive streaming based onthe network connection, quality of the video, or the like.

First video chat application 130 can make first camera 128 and firstmicrophone 124 operational. First camera 128 can receive and captureoutgoing video data within a field of view of first camera 128. Firstmicrophone 124 can receive and capture outgoing audio data within agiven proximity of first mobile device 120. First video chat application130 can transmit the captured outgoing video and audio data to secondvideo chat application 151 of second mobile device 150.

Second video chat application 151 of second mobile device 150 canreceive the incoming audio, and video data from first video chatapplication 130 of first mobile device 120. Second video chatapplication 151 can cause display of the incoming video data on seconddisplay 152 and output the incoming audio data through the secondspeaker 153 of second mobile device 150. The speaker can be built-insecond mobile device 150 or can be externally connected to second mobiledevice 150

Second camera 156 can receive and capture outgoing video data within afield of view of second camera 156. Second microphone 154 can receiveand capture outgoing audio data within a given proximity of secondmobile device 150. Second video chat application 151 can transmit thecaptured outgoing video and audio data to first video chat application130 of first mobile device 120 through video chat system 104.

First video chat application 130 of first mobile device 120 can receivethe incoming audio and video data from second video chat application 151of second mobile device 150. Second video chat application 151 can causedisplay of the incoming video data on first display 122 and output theincoming audio data through first speaker 123 of first mobile device120. The speaker can be built-in first mobile device 120 or can beexternally connected to first mobile device 120. The audio and videodata transmissions and output between first mobile device 120 and secondmobile device 150 can be in (near) real-time

The first user can desire to view the incoming video data on displaydevice 132. As indicated above, display device 132 can be a television,monitor, projection screen, or the like. First mobile device 120 cantransmit request 202-1 to rotating base 140 to communicatively couplewith rotating base 140. In some embodiments, request 202-1 can begenerated in response to forming a connection with rotating base 140 byinserting one end of a data cable in a data port of first mobile device120 and inserting the other end of the data cable in a data port ofrotating base 140. The data port of rotating base 140 can becommunication device 142 of rotating base 140. In other embodiments,request 202-1 can be generated in response to wirelessly connecting tocommunication device 142 of rotating base 140.

In response to receiving request 202-1, rotating base 140 can generateresponse 202-2. Response 202-2 can include an instruction for firstmobile device 120 to launch application 126 and transmit a requestthrough application 126 to stream the audio and video data beingreceived by first mobile device 120 to display device 132. Rotating base140 can transmit response 202-2 to first mobile device 120.

As indicated above, communications device 142 can be an NFC device.First mobile device 120 can be connected with communications device 142using wireless radio waves. For example, request 202-1 can be a requestto pair with communications device 142. Request 202-1 can include anidentifier of first mobile device 120 (e.g., MAC address, phone number,IMEI number, or the like). Rotating base 140 can confirm the identifierof first mobile device 120 and confirm the request to pair with firstmobile device 120. The confirmation can be transmitted in response202-2. Request 202-1 and response 202-2 can form an electronichandshake.

In response to receiving response 202-2, first mobile device 120 canlaunch application 126. Application 126 can transmit request 202-3 toserver 100. Request 202-3 can include a request to stream the audio andvideo data received by first mobile device 120 to display device 132.Request 202-3 can include an identifier of display device 132. Theidentifier can be a MAC address.

In response to receiving request 202-3, streaming system 102 cantransmit request 202-4 to display device 132. Request 202-4 can be arequest to form a connection with display device 132. Request 202-4 caninclude the identifier of display device 132, an identifier of server100, and an identifier of first mobile device 120. In response toreceiving request 202-4 application 138 of display device 132 caninitiate a connection with server 100 and transmit a confirmation ofinitiation of the connection. The connection can also initiate a sessionthat allows server 100 to transmit streams of video and audio data todisplay device 132. The connection can allow streaming system 102, tostream video and audio data to display device 132 to be output bydisplay 134 and display speaker 136.

In some embodiments, streaming system 102 can receive a stream 202-5 ofincoming audio and video data received by first mobile device 120. Theincoming audio and video data can be received by first mobile device 120from second mobile device 150 as part of the video chat, through videochat system 104 or a third-party server. The audio and video data instream 202-5 can be encoded, synced, and ready to be output.Alternatively, streaming system 102 can capture incoming audio and videodata being transmitted through video chat application 104, from secondmobile device 150, before it's been received by first mobile device 120.Therefore, streaming system 102 can encode, sync, and format theincoming audio and video data. Furthermore, streaming system 102 canformat the incoming audio and video data to transmit the incoming audioand video data via a streaming protocol.

A streaming protocol governs how incoming audio and video data can betransmitted to display device 132 over the network. The streamingprotocol can be Transmission Control Protocol (TCP), User DatagramProtocol (UDP), HTTP, HDS, MPEG-DASH, RTSP, RTP, RTCP, SCTP (StreamControl Transmission Protocol), and RTMP. Streaming system 102 cantransmit stream 202-6 to display device 132. Stream 202-6 can includeencoded, synced, and incoming formatted audio and video data to beoutput by display device 132. Streaming system 102 can transmit theincoming audio and video data in chunks in stream 202-6. The incomingaudio and video data can need to be reassembled at display device 132.

In some embodiments, display device 132 may display the same streamreceived through 202-6. Stream 202-6 may be transmitted as apass-through. In other embodiments, stream 202-6 may be a transportstream such as MPEG or DASH. The transport stream may include chunks ofaudio and video data encoded or transcoded in formats such as AAC, AC3,HEVC, MPEG4.

In some embodiments, streaming system 102 and display device 132 cannegotiate encoding, decoding, and syncing formats at the time when theconnection is formed. The negotiated format can be determined based onformats accepted by first mobile device 120, second mobile device 150,and display device 132 as well as the network connection. For example,second video chat application 151 of second mobile device 150 cancompress, encode, and sync outgoing audio and video data in apredetermined format. The outgoing audio and video data can betransmitted to first mobile device 120 via video chat system 104.Streaming system 102 can receive compressed, encoded, and syncedincoming audio and video data from first mobile device 120. Inparticular, the compressed, encoded, and synced incoming audio and videodata can be in a format supported by first and second mobile devices 120and 150. Streaming system 102 can format the incoming audio and videodata so that the audio and video data is compressed, encoded, and syncedin a format accepted by display device 132. The format can be the formatagreed upon when forming the connection with server 100. Furthermore,the compression, encoding, decoding, and syncing formats can be updatedduring the video chat using adaptive streaming based on the networkconnection, quality of the video, or the like.

Display device 132 can receive stream 202-6. Application 138 of displaydevice 132 can format the incoming video data to be output on display134. For example, application 138 can format the size, resolution,color, brightness, or the like, of the incoming video data, based on thesettings of display 134. Application 138 can also reassemble theincoming audio and video data when received in chunks in stream 202-6.Application 138 can also format the incoming audio data to be output bydisplay speaker 136. Application 138 can cause display of the incomingvideo data on display 134 and cause the output of the incoming audiodata through display speaker 136.

Stream 202-5 and 202-6 can provide a continuous flow of incoming audioand video data, as received by first mobile device 120 from secondmobile device 150, during the video chat. This way, display device 132can output the incoming audio and video data in (near) real-time. Insome embodiments, first mobile device 120 can output the incoming audioand video data while display device 132 is also outputting the audio andvideo data concurrently.

In some embodiments, stream 202-5 and 202-6 can also include outgoingvideo data captured by first camera 128. Display device 132 can displaythe incoming video data as well as the outgoing video data. For example,the incoming video data can be displayed on display 134 as an expandeddisplay, while the outgoing video data can be a smaller display.

In some embodiments, in the event first and second mobile devices 120and 150 transmitting audio and video directly to one another using firstand second video chat application 130 and 151, application 126 cantransmit a request to first video chat application 131 to stream theincoming audio and video data received by first mobile device 120 todisplay device 132. Furthermore, display device 132 may becommunicatively coupled with first mobile device 120. Specifically,display device 132 may be coupled to first mobile device 120 through awired or wireless connection. As a result, in response to receiving therequest to stream the incoming audio and video data to display device132, first video chat application 130 can encode, sync, and format theincoming audio and video data. Furthermore, first video chat application130 can format the incoming audio and video data to transmit theincoming audio and video data via a streaming protocol. Furthermore,first video chat application 130 may directly transmit or stream theincoming audio and video data to display device 132 over the wired orwireless connection using the streaming techniques described above.Application 138 may receive the audio and video data from first videochat application 130. Display device 132 may output the video data usingdisplay 134 and the audio data using display speaker 136.

In some embodiments, application 126 may be incorporated in first videochat application 130. As such, in response to receiving response 202-2,first video chat application 130 may form a connection with displaydevice 132 and stream the incoming audio and video data received byfirst mobile device 120 to display device 132 using the streamingtechniques described above.

First mobile device 120 can also be physically coupled to a couplingunit of rotating base 140. Furthermore, application 126 can beconfigured to track the movement of an object within the field of viewof first camera 128, using sensor 129. Sensor 129 can be an opticalsensor configured to track movements of the object within the field ofview of first camera 128. The object can be the first user. As anexample, first camera 128 can be configured to capture a physical scenewithin the field of view of first camera 128. Sensor 129 can identifyvarious objects within the physical scene. As first mobile device 120moves, the field of view of first camera 128 can change, and in turn,the objects within the field of view can change. Sensor 129 can generateoutlines around the edges of each detected object within the field ofview.

In some embodiments, application 126 can identify an object out ofmultiple objects as the person speaking. For example, application 126can detect whether a user is speaking based on the audio of the userreceived by first microphone 124. Application 126 may instruct the firstcamera 128 to follow the user who is speaking, until the user stopsspeaking. In some embodiments, application 126 may implement imagerecognition technology to detect a user from multiple objects.

Application 126 may also control a zoom or panning functionality offirst camera 128 based on the audio of the user received by firstmicrophone 124. For example, application 126 may zoom into the user ifthe user is the only object producing audio within the field of view offirst camera 128. However, if other audio is detected from another useror object, application 126 may instruct first camera 128 to zoom out tocapture both the other user or object.

Application 126 may also use machine-learning algorithms to control thezoom or pan functionality. For example, application 126 may use naturallanguage processing (NLP) to understand when a user speaking isaddressing other people within the same room. In response to determiningthe user is addressing other people within the same room, application126 may control the zoom functionality of first camera 128 to capturethe other people in the same room.

In some embodiments, application 126 may use machine-learning algorithmsto identify a main presenter or user, based on the amount a presenter,or user is speaking. In this regard, while other people may speak,application 126 may instruct first camera 128 to keep the main presenteror user in the field of view or in-focus.

In some embodiments, application 126 may instruct first camera 128 tozoom and pan as part of a scripted pattern. For example, application 126may instruct first camera 128 to zoom out every 20 minutes and zoom inevery 10 minutes.

As a non-limiting example, application 126 can use a real-time computervision application, such as OpenCV, to track objects in the field ofview of first camera 128. Real-time computer visions can use thereal-time image being captured by first camera 128 to track an object,such as a first user within the field of view of the camera. Thereal-time computer vision application can be configured to performobject video tracking and object recognition. In particular, thereal-time computer vision application can use target representation andlocalization, and filtering and data association to identify the firstuser in the field of view of the camera. Target representation andlocalization can include locating and tracking a moving object (e.g.,first user) within the field of view of first camera 128. The real-timecomputer vision application can use kernel-based tracking or contourtracking to implement target representation and localization.Furthermore, the real-time computer vision application can use edgedetection to identify the first user in the field of view of firstcamera 128. Once identified, the real-time computer vision applicationcan track the first user, as the first user moves within the field ofview of first camera 128.

Application 126 can distinguish the first user from the detectedobjects. For example, while first mobile device 120 is physicallycoupled to the coupling unit of rotating base 140, and the first user isproviding audio input (e.g., speaking), which is being captured by firstmicrophone 124, application 126 can recognize the first user from thedetected objects. Application 126 can assign identifiers to all thedetected objects. Application 126 can receive movement data of thedetected objects from sensor 129. The movement data can be an amount anobject as moved and an identifier of the detected object.

The first user can move in all directions with respect to rotating base140 and first mobile device 120. For example, the movements can includebut are not limited to a combination of, up or down, and left or rightof rotating base 140 and first mobile device 120, behind rotating base140 and first mobile device 120, farther away from rotating base 140 andfirst mobile device 120, and closer to rotating base 140 and firstmobile device 120. Therefore, the movement data can include the firstuser's location with respect to first camera 128.

Application 126 can determine that the first user has moved more than agiven amount, such that the first user is no longer in focus within thefield of view of first camera 128, based on the movement data receivedfrom sensor 129. Application 126 can transmit request 204-1 to rotatingbase 140 to move the rotatable unit of rotating base 140 the givenamount so that the first user is in focus within the field of view ofthe first camera 128.

In response to receiving request 204-1, controller 146 of rotating base140 can instruct motor 144 to rotate the rotatable unit the givenamount, so that the first user is in focus within the field of view ofthe first camera 128. By rotating the rotatable unit, the motor alsorotates the coupling unit, which supports and holds first mobile device120.

In some embodiments, the first user can be continuously moving for aperiod of time and, therefore, continuously moving out of focus from thefield of view of first camera 128. Application 128 can recalculate agiven amount to move the rotatable unit to keep the first user in focusin the field of view of first camera 128, each time the first user movesmore than a threshold amount. In this regard, request 204-1 cancontinuously provide updated instructions to move the rotatable unit agiven amount to rotating base 140. Controller 146 can instruct the motorto rotate the rotatable unit the given amount based on the updatedinstructions.

In some embodiments, application 126 can control the zoom of firstcamera 128. The zoom functionality may be made up of a combination ofalgorithms, such as optical zoom using the camera lenses, or digitalzoom by applying imaging algorithms and by cropping the image within thefield of view of first camera 128. For example, if the first user movesfarther away from first camera 128, the first user can still be withinthe center of the field of view of the camera; however, it can be out offocus. As such, application 126 can determine an amount to adjust thezoom to bring the first user into focus. Application 126 can control theoperation of the zoom of first camera 128 to bring the first user intofocus.

FIG. 3 is a block diagram illustrating an example rotating base anddisplay device, according to example embodiments. In a given embodiment,rotating base 140 can include a base 300, a rotatable unit 302, and acoupling unit 304. Base 300 can be coupled to rotatable unit 302, androtatable unit 302 can be coupled to coupling unit 304.

Base 300 can be disposed at a first end of rotating base 140 and can beconfigured to support rotatable unit 302 and coupling unit 304 and keeprotatable unit 302 and coupling unit 304 upright. An interior of base300 can include a controller (e.g., controller 146 as shown in FIG. 1),motor (e.g., motor 144 as shown in FIG. 1), and communication device(e.g., communication device 142 as shown in FIG. 1). The interior ofbase 300 can also include a power supply to power the controller, motor,and communication device.

Rotatable unit 302 can include a first hinge 306 and a second hinge 308.Rotatable unit can be coupled to base 300 at the first hinge 306. Themotor can control rotatable unit 302 to rotate around first hinge 306.First hinge 306 can be represented by rotational axis 310. The motor canalso cause the rotatable unit 302 to traverse along second hinge 308.The x and y-axis can represent the second hinge 308. Rotatable unit 302can be shaped like an arm. However, rotatable unit 302 can be in anyshape, and it can be with or without hinges, as long as rotatable unit302 is configured to rotate about rotational axis 310 and traverse alongthe x, y, and z-axes.

Coupling unit 304 can be connected to rotatable unit 302 at a second endof rotatable base 140. Coupling unit 304 can include clasps 312-1 and312-2 to hold and support first mobile device 120. Clasps 312-1 and312-2 can be the attachment mechanisms to attach the first mobile device120 to coupling unit 304. Claps 312-1 and 312-2 can expand or contractto hold and support mobile devices of various sizes. While theattachment mechanisms of coupling unit 304 are clasps 312-1 and 312-2,attachment mechanisms can also include a magnet, horizontal clasps,adhesive material, clips, or the like.

In a given embodiment, the controller can receive instructions from theserver (e.g., server 100, as shown in FIG. 1) to move rotatable unit 302a given amount. The controller can determine an amount the rotatableunit 302 needs to be rotated around first hinge 306, and an amountrotatable unit 302 needs to traverse along second hinge 308, based onthe given amount. The controller can instruct the motor to rotaterotatable unit 302 and to cause the rotatable unit 302 to traverse alongsecond hinge 308 based on the determined amounts. The motor can rotaterotatable unit 302 around first hinge 306 or cause rotatable unit totraverse along second hinge 308 based on the controller's instructions.Rotating rotatable unit 302 and causing rotatable unit 302 to traversealong second hinge 308 can cause coupling unit 304 to rotate andtraverse along second hinge 308.

First display 122 of first mobile device 120 can output video datacorresponding to a video chat as well as video data being captured bythe camera (e.g., first camera 128 as shown in FIG. 1) of first mobiledevice 120. Display 134 can also output video data corresponding to thevideo chat, as well as the video data being captured by the camera ofthe mobile device 120.

In some embodiments, rotatable base 140 may be a clip or clamp that maybe attached to the display device such as a television or may also beattached to a support structure such as a wall.

FIG. 4 is a flowchart illustrating a process for streaming audio andvideo data from a mobile device to a display device, according to someembodiments. Method 400 can be performed by processing logic that cancomprise hardware (e.g., circuitry, dedicated logic, programmable logic,microcode, etc.), software (e.g., instructions executing on a processingdevice), or a combination thereof. It is to be appreciated that not allsteps can be needed to perform the disclosure provided herein. Further,some of the steps can be performed simultaneously, or in a differentorder than shown in FIG. 4, as will be understood by a person ofordinary skill in the art.

Method 400 shall be described with reference to FIG. 1. However, method400 is not limited to that example embodiment.

In 402, server 100 receives a chat request from first mobile device 120to initiate an audio and video chat with second mobile device 150. Thechat request can be transmitted from first video chat application 130 offirst mobile device 120. The chat request can include a uniqueidentifier of second mobile device 150. The unique identifier can be aphone number, username, MAC address, or the like. A first user canoperate first mobile device 120, and a second user can operate secondmobile device 150.

In 404, video chat system 104 transmits a chat request to second mobiledevice 150. The chat request can include a request from first mobiledevice 120 to initiate an audio and video chat. The chat request can betransmitted to second video chat application 151 of second mobile device150. Second mobile device 150 can generate a combination of an audio,haptic, and visual alert, in response to receiving the chat request.

In 406, server 100 can receive a confirmation from second video chatapplication 151 of second mobile device 150 to initiate an audio andvideo chat with first mobile device 120. The confirmation can betransmitted by second video chat application 151 in response to a seconduser of second mobile device 150 accepting the request from first mobiledevice 120.

In 408, video chat system 104 enables first and second mobile devices120 and 150 to transmit audio, and video data to one another using thefirst video chat application 130 of first mobile device 120 and secondvideo chat application 151 of second mobile device 150. First microphone124 of first mobile device 120 can capture audio data. Moreover, firstcamera 128 of first mobile device 120 can capture video data. Firstvideo chat application 130 of first mobile device 120 can transmit theaudio data to video chat system 104. Similarly, second microphone 154 ofsecond mobile device 150 can capture audio data.

Moreover, second camera 156 of second mobile device 150 can capturevideo data. Second video chat application 151 of second mobile device150 can transmit the audio data to video chat system 104. Video chatsystem 104 can encode and sync the audio and video data received fromfirst and second mobile devices 120 and 150, respectively. Video chatsystem 104 can transmit the encoded and synced audio and video datareceived from first mobile device 120 to second mobile device 150.Furthermore, video chat system 104 can transmit the encoded and syncedaudio and video data received from second mobile device 150 to firstmobile device 120. First display 122 of first mobile device 120 canoutput the received video data, and a speaker of first mobile device 120can output the received audio data. Second display 152 of second mobiledevice 150 can output the received video data, and a speaker of thesecond mobile device 150 can output the received audio data.

In 410, server 100 receives a streaming request to stream incoming audioand video data received by first mobile device 120 from second mobiledevice 150, on display device 132. The request can be transmitted byapplication 126 in response to first mobile device 120, forming aconnection with rotating base 140. First mobile device 120 can form aconnection with rotating base 140 via a wired or wireless connection.First mobile device 120 can be communicatively and physically coupled torotating base 140.

In 412, streaming system 102 establishes a connection with displaydevice 132. Streaming system 102 can transmit a request to stream audioand video data intended to be received by first mobile device 120 ondisplay device 132. Display device 132 can include display 134, displayspeaker 136, and application 138. The application 138 can be used toestablish a connection with streaming system 102. The connection can beestablished in response to application 138, confirming the connection.

In 414, streaming system 102 receives a stream of incoming audio andvideo data transmitted by second mobile device 150 to first mobiledevice 120. Streaming system 102 can capture the audio and video dataprior to when first mobile device 120 receiving the audio and video dataor after first mobile device 120 receives the audio and video data. Theaudio and video data can be part of the video chat between first andsecond mobile devices 120 and 150.

In 416, streaming system 102 formats the audio and video datatransmitted by second mobile device 150 to first mobile device 120, sothat the audio and video data can be streamed and output by displaydevice 132. Streaming system 102 can format audio and video data byencoding and syncing the audio and video data. Furthermore, streamingsystem 102 can format the audio and video data so the audio and videodata can be transmitted to display device 132 via a streaming protocol.

In operation 418, streaming system 102 streams the incoming formattedaudio and video data to display device 132. Application 138 can receivethe audio and video data. Application 138 can further format the audioand video data. For example, the audio data can be formatted so that theaudio data can be output using display speaker 136. Furthermore,application 138 can format the video data so that display device 132 canoutput video data using display 134. Formatting can include resizing thevideo data, adjusting the resolution, color, brightness, or the like.Display speaker 136 can output the audio data and display 134 can outputvideo data. This way, the first user can view the video chat on display134 and listen to the audio of the video chat using display speaker 136.

FIG. 5 is a flowchart illustrating a converting data tracking a userwithin the field of view of a camera of the mobile device. Method 500can be performed by processing logic that can comprise hardware (e.g.,circuitry, dedicated logic, programmable logic, microcode, etc.),software (e.g., instructions executing on a processing device), or acombination thereof. It is to be appreciated that not all steps can beneeded to perform the disclosure provided herein. Further, some of thesteps can be performed simultaneously, or in a different order thanshown in FIG. 5, as will be understood by a person of ordinary skill inthe art.

Method 500 shall be described with reference to FIG. 1. However, method500 is not limited to that example embodiment.

In 502, first video chat application 130 of first mobile device 120transmits a chat request to initiate a video chat with second mobiledevice 150 to server 100. The request can include an identifier ofsecond mobile device 150. Video chat system 104 can transmit a requestto second mobile device 150 to initiate a video chat with first mobiledevice 120. Second mobile device 150 can transmit a confirmation toinitiate the video chat with first mobile device 120 to server 100. Inresponse to receiving a confirmation from second mobile device 150,video chat system 104 can enable video and audio transmissions betweenfirst and second mobile device 120 and 150.

In 504, application 126 forms a connection with rotating base 140.Application 126 can form a wired or wireless connection with rotatingbase 140. In response to forming the connection, application 126 cancommunicate with rotating base 140. Rotating base 140 can includecommunication device 142, motor 144, and controller 146. Application 126can form a connection with first mobile device 120 using communicationdevice 142. Furthermore, first mobile device 120 can be physicallycoupled with rotating base 140.

In 506, application 126 transmits a streaming request to stream incomingaudio and video data of the video chat received by first mobile device120 on display device 132 in response to forming a connection withrotating base 140. The streaming request can be transmitted to server.100. Video chat system 104 can establish a connection with displaydevice 132 in response to receiving the streaming request. In responseto establishing a connection with display device 132, streaming system102 can stream audio and video data received by first mobile device 120from second mobile device 150 as part of the video chat to displaydevice 132. Display device 132 can output the audio and video data.

In 508, application 126 receives or calculates movement data associatedwith a first object, indicating movement of an object within the fieldof view of first camera 128. Application 126 can use a real-timecomputer vision application to track the object. Alternatively, sensors129 can be optical sensors configured to detect movement of objects inthe field of view of first camera 128. The movement data can include anidentifier associated with the object that moved and the amount ofmovement. The object can be the first user. Application 126 can also useimage recognition algorithms to identify the first object amongstmultiple objects in a given area.

In 510, application 126 determines an amount first mobile device 120needs to be moved to maintain the object within the field of view offirst camera 128. Application 126 can determine how much the mobiledevice needs to be moved based on the amount of movement of the object.

In 512, application 126 transmits instructions to rotating base 140 torotate first mobile device 120 the determined amount. As describedabove, first mobile device 120 can be physically coupled to rotatingbase 140. In particular, a coupling unit of rotating base 140 can beconfigured to hold, support and also power the first mobile device 120.Rotating base 140 may act as a power supply to first mobile device 120so that first mobile device is configured to operate for longer periodsof time. The power may be provided through the coupling unit orwirelessly. The coupling unit can be coupled to a rotatable unit. Therotatable unit can be coupled to motor 144, and motor 144 can be coupledto controller 146. Controller 146 can receive instructions fromapplication 126. Controller 146 can instruct motor 144 to move therotatable unit the determined amount. As a result, the coupling unit andfirst mobile device 120 can also move a determined amount.

FIG. 6 illustrates an example block diagram 600 of an example embodimentof the mobile device 601. Mobile device 601 may be an embodiment offirst and/or second mobile device 120 and 150. Mobile device 601 (e.g.,a mobile phone, tablet, laptop, etc.) may be generally configured toenable or allow users to conduct video chats. It is to be appreciatedthat while FIG. 6 illustrates one example embodiment of mobile device601, the example embodiment is not limited to this context.

In one embodiment, mobile device 601 may be generally arranged toprovide mobile computing and/or mobile communications and may include,but are not limited to, memory 670, communications component 674, motioncomponent 676, and orientation component 678, acoustic input/outputcomponent 680, haptic component 682, mobile processor component 684,touch-sensitive display component 686, location component 688, internalpower component 690, and image acquisition component 894, where each ofthe components and memory 670 may be operatively connected viainterconnect 692.

In one embodiment, the memory 670 may be generally arranged to storeinformation in volatile and/or nonvolatile memory, which may include,but is not limited to, read-only memory (ROM), random-access memory(RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchronousDRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasableprogrammable ROM (EPROM), electrically erasable programmable ROM(EEPROM) flash memory, polymer memory such as ferroelectric polymermemory, ovonic memory, phase change or ferroelectric memory,silicon-oxide-nitride-oxide-silicon (SONOS) memory, solid state memorydevices (e.g., USB memory, solid state drives SSD, etc.), and/or anyother type of storage media configured for storing information.

In one embodiment, the memory 670 may include instruction informationarranged for execution by the mobile processor component 684. In thatembodiment, the instruction information may be representative of atleast one operating system 672, one or more applications, which mayinclude, but are not limited to, first video chat application 130,second video chat application 151, and application 126. In anembodiment, the memory 670 may further include device datastore 650which may be configured to store information.

In one embodiment, the mobile operating system 672 may include, withoutlimitation, mobile operating systems (e.g., Apple® iOS®, Google®Android®, Microsoft® Windows Phone®, Microsoft® Windows®, etc.)generally arranged to manage hardware resources (e.g., one or morecomponents of mobile device 601, etc.) and/or software resources (e.g.,one or more applications of the first and second mobile device 120 and150, etc.).

In one embodiment, the communications component 674 may be generallyarranged to enable mobile device 601 to communicate, directly and/orindirectly, with various devices and systems. The communicationscomponent 674 may include, among other elements, a radio frequencycircuit (not shown) configured for encoding and/or decoding informationand receiving and/or transmitting the encoded information as radiosignals in frequencies consistent with the one or more wirelesscommunications standards (e.g., Bluetooth, Wireless IEEE 802.11, WiMAXIEEE 802.16, Global Systems for Mobile Communications (GSM), EnhancedData Rates for GSM Evolution (EDGE), Long Term Evolution (LTE),Bluetooth standards, Near Field Communications (NFC) standards, etc.).

In one embodiment, the mobile processor component 684 may be generallyarranged to execute instruction information, which may generally includeone or more executable and/or interpretable instructions. In anembodiment, the processor component 684 may be a mobile processorcomponent or system-on-chip (SoC) processor component. The processorcomponent 684, may comprise, among other elements, processor circuit,which may further include, but is not limited to, at least one set ofelectronic circuits arranged to execute one or more instructions.Examples of mobile processor components 684 may include, but is notlimited to, Qualcomm® Snapdragon®, NVidia® Tegra®, Intel® Atom®,Samsung® Exynos, Apple® A7®-A13®, or any other type of mobileprocessor(s) arranged to execute the instruction information includingthe one or more instructions stored in memory 670.

In one embodiment, the touch sensitive display component 686 may begenerally arranged to receive and present visual display information andprovide touch input information based on detected touch based or contactbased input. Moreover, the touch sensitive display component 686 mayinclude, among other elements, display device (e.g., liquid-crystaldisplay, light-emitting diode display, organic light-emitting diodedisplay, etc.) for presenting the visual display information and touchsensor(s) (e.g., resistive touch sensor, capacitive touch sensor, etc.)associated with the display device 668 to detect and/or receive touch orcontact based input information associated with the display device ofthe first and second mobile device 120 and 150. Additionally, the touchsensor(s) may be integrated with the surface of the display device, sothat a user's touch or contact input may substantially correspond to thepresented visual display information on the display device, such as, forexample, one or more user interface (UI) views and elements discussedand illustrated herein.

In one embodiment, the location component 688 may be generally arrangedto receive positioning signals representative of positioning informationand provide location information (e.g., approximate physical location ofthe first and second mobile device 120 and 150) determined based atleast partially on the received positioning information. Moreover, thelocation component 688 may include, among other elements, positioningcircuit (e.g., a global positioning system (GPS) receiver, etc.)arranged to determine the physical location of the mobile device 601. Insome embodiments, the location component 688 may be further arranged tocommunicate and/or interface with the communications component 674 inorder to provide greater accuracy and/or faster determination of thelocation information.

In one embodiment, the internal power component 690 may be generallyarranged to provide power to the various components and the memory ofthe first and second mobile device 120 and 150. In one embodiment, theinternal power component 690 may include and/or be operatively coupledto an internal and/or external battery configured to provide power tothe various components (e.g., communications component 674, motioncomponent 676, memory 670, etc.). The internal power component 690 mayalso be operatively coupled to an external charger to charge thebattery.

Various embodiments can be implemented, for example, using one or morecomputer systems, such as computer system 700 shown in FIG. 7. Computersystem 700 can be used, for example, to implement method 400 of FIG. 4,500 of FIG. 5. Furthermore, computer system 700 can be at least part ofserver 100, as shown in FIG. 1. For example, computer system 700 canstream audio and video data of a video chat to display device 132 fromfirst mobile device 120. Computer system 700 can be any computer capableof performing the functions described herein.

Computer system 700 can be any well-known computer capable of performingthe functions described herein.

Computer system 700 includes one or more processors (also called centralprocessing units, or CPUs), such as a processor 704. Processor 704 isconnected to a communication infrastructure or bus 706.

One or more processors 704 can each be a graphics processing unit (GPU).In an embodiment, a GPU is a processor that is a specialized electroniccircuit designed to process mathematically intensive applications. TheGPU can have a parallel structure that is efficient for parallelprocessing of large blocks of data, such as mathematically intensivedata common to computer graphics applications, images, videos, etc. Insome embodiments, computer system may also include specializedprocessors for implementing machine learning or artificial intelligencealgorithms. For example, processors such as Intel® Neural Compute Stick,field programmable gate arrays (FPGA), Intel® Movidius Vision, Tesla® AIchip, or the like.

Computer system 700 also includes user input/output device(s) 703, suchas monitors, keyboards, pointing devices, etc., that communicate withcommunication infrastructure 706 through user input/output interface(s)702.

Computer system 700 also includes a main or primary memory 708, such asrandom access memory (RAM). Main memory 708 can include one or morelevels of cache. Main memory 708 has stored therein control logic (i.e.,computer software) and/or data.

Computer system 700 can also include one or more secondary storagedevices or memory 710. Secondary memory 710 can include, for example, ahard disk drive 712 and/or a removable storage device or drive 714.Removable storage drive 714 can be a floppy disk drive, a magnetic tapedrive, a compact disk drive, an optical storage device, tape backupdevice, and/or any other storage device/drive.

Removable storage drive 714 can interact with a removable storage unit718. Removable storage unit 718 includes a computer usable or readablestorage device having stored thereon computer software (control logic)and/or data. Removable storage unit 718 can be a floppy disk, magnetictape, compact disk, DVD, optical storage disk, and/any other computerdata storage device. Removable storage drive 714 reads from and/orwrites to removable storage unit 718 in a well-known manner.

According to an exemplary embodiment, secondary memory 710 can includeother means, instrumentalities, or other approaches for allowingcomputer programs and/or other instructions and/or data to be accessedby computer system 700. Such means, instrumentalities, or otherapproaches can include, for example, a removable storage unit 722 and aninterface 720. Examples of the removable storage unit 722 and theinterface 720 can include a program cartridge and cartridge interface(such as that found in video game devices), a removable memory chip(such as an EPROM or PROM) and associated socket, a memory stick and USBport, a memory card and associated memory card slot, and/or any otherremovable storage unit and associated interface.

Computer system 700 can further include a communication or networkinterface 724. Communication interface 724 enables computer system 700to communicate and interact with any combination of remote devices,remote networks, remote entities, etc. (individually and collectivelyreferenced by reference number 728). For example, communicationinterface 724 can allow computer system 700 to communicate with remotedevices 728 over communications path 726, which can be wired and/orwireless, and which can include any combination of LANs, WANs, theInternet, etc. Control logic and/or data can be transmitted to and fromcomputer system 700 via communication path 726.

In an embodiment, a tangible, non-transitory apparatus or article ofmanufacture comprising a tangible, non-transitory computer useable orreadable medium having control logic (software) stored thereon is alsoreferred to herein as a computer program product or program storagedevice. This includes, but is not limited to, computer system 700, mainmemory 708, secondary memory 710, and removable storage units 718 and722, as well as tangible articles of manufacture embodying anycombination of the foregoing. Such control logic, when executed by oneor more data processing devices (such as computer system 700), causessuch data processing devices to operate as described herein.

Based on the teachings contained in this disclosure, it will be apparentto persons skilled in the relevant art(s) how to make and useembodiments of this disclosure using data processing devices, computersystems and/or computer architectures other than that shown in FIG. 7.In particular, embodiments can operate with software, hardware, and/oroperating system implementations other than those described herein.

It is to be appreciated that the Detailed Description section, and notany other section, is intended to be used to interpret the claims. Othersections can set forth one or more but not all exemplary embodiments ascontemplated by the inventor(s), and thus, are not intended to limitthis disclosure or the appended claims in any way.

While this disclosure describes exemplary embodiments for exemplaryfields and applications, it should be understood that the disclosure isnot limited thereto. Other embodiments and modifications thereto arepossible and are within the scope and spirit of this disclosure. Forexample, and without limiting the generality of this paragraph,embodiments are not limited to the software, hardware, firmware, and/orentities illustrated in the figures and/or described herein. Further,embodiments (whether or not explicitly described herein) havesignificant utility to fields and applications beyond the examplesdescribed herein.

Embodiments have been described herein with the aid of functionalbuilding blocks illustrating the implementation of specified functionsand relationships thereof. The boundaries of these functional buildingblocks have been arbitrarily defined herein for the convenience of thedescription. Alternate boundaries can be defined as long as thespecified functions and relationships (or equivalents thereof) areappropriately performed. Also, alternative embodiments can performfunctional blocks, steps, operations, methods, etc. using orderingsdifferent than those described herein.

References herein to “one embodiment,” “an embodiment,” “an exampleembodiment,” or similar phrases, indicate that the embodiment describedcan include a particular feature, structure, or characteristic, butevery embodiment can not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it would be within the knowledge of persons skilled in therelevant art(s) to incorporate such feature, structure, orcharacteristic into other embodiments whether or not explicitlymentioned or described herein. Additionally, some embodiments can bedescribed using the expression “coupled” and “connected” along withtheir derivatives. These terms are not necessarily intended as synonymsfor each other. For example, some embodiments can be described using theterms “connected” and/or “coupled” to indicate that two or more elementsare in direct physical or electrical contact with each other. The term“coupled,” however, can also mean that two or more elements are not indirect contact with each other, but yet still co-operate or interactwith each other.

The breadth and scope of this disclosure should not be limited by any ofthe above-described exemplary embodiments but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A method comprising: receiving, by one or more computing devices, a streaming request to stream incoming audio data and video data received by a first mobile device from a second mobile device on a display device, from the first mobile device; streaming, by the one or more computing devices, the incoming audio data and the incoming video data to the display device; capturing, by the one or more computing devices, an identifier of an object from outgoing audio data captured by a microphone of the first mobile device using natural language processing (NLP), wherein the object is located within a proximate distance of the first mobile device and the outgoing audio data including the identifier is output by a different object; identifying, by the one or more computing devices, the object within the proximate distance of the first mobile device in outgoing video data captured by a camera of the first mobile device based on the identifier; and instructing, by the one or more computing devices, the camera of the first mobile device to include the object in a field of view of the camera.
 2. The method of claim 1, further comprising: receiving, by the one or more computing devices, a chat request to initiate an audio and video chat with the second mobile device; and enabling, by the one or more computing devices, audio and video communication between the first and second mobile devices, wherein the audio and video communication include the incoming audio data and video data.
 3. The method of claim 2, further comprising: causing, by the one or more computing devices, the camera and the microphone of the first mobile device to become operational in response to enabling the audio and video communication between the first and second mobile device.
 4. The method of claim 3, further comprising: capturing, by the one or more computing devices, the outgoing audio data and the outgoing video data received by the microphone and the camera of the first mobile device; and transmitting, by the one or more computing devices, the outgoing audio data and the outgoing video data to the second mobile device.
 5. The method of claim 1, wherein the incoming audio data and the incoming video data is formatted based on a streaming protocol associated with the display device.
 6. The method of claim 1, wherein the incoming audio data and the incoming video data are reformatted by the display device.
 7. The method of claim 1, wherein receiving the streaming request is performed in response to the first mobile device coupling with a rotating base.
 8. The method of claim 7, wherein the rotating based is configured to provide power to the first mobile device in response to the first mobile device coupling with the rotating base.
 9. The method of claim 1, further comprising causing, by the one or more computing devices, display of image data of a first display of the first mobile device on the second mobile device when in a screen sharing mode.
 10. A system comprising: a camera; a microphone; and a first mobile device coupled to the camera and microphone, the first mobile device configured to execute an application, the application, when executed, configured to: transmit a chat request for initiating an audio and video chat with a second mobile device, wherein initiation of the audio and video chat enables the first mobile device to transmit and receive audio and video communication to and from the second mobile device; transmit a streaming request to stream incoming audio data and video data received by the first mobile device from the second mobile device to a display device, in response to establishing a connection with the rotating base; capture an identifier of an object from outgoing audio data captured by the microphone of the first mobile device using natural language processing (NLP), wherein the object is located within a proximate distance of the first mobile device and the outgoing audio data including the identifier is output by a different object; identify the object within the proximate distance of the first mobile device in the outgoing video data captured by the camera of the first mobile device based on the identifier; instruct the camera of the first mobile device to include the object in a field of view of the camera; and transmit the outgoing audio data and the outgoing video data to the second mobile device.
 11. The system of claim 10, wherein the camera and the microphone of the first mobile device become operational in response to transmitting the chat request.
 12. The system of claim 10, wherein the first mobile device is coupled physically and communicatively to the rotating base.
 13. The system of claim 10, the application further configured to: detect movement of a new object in the field of view of the camera; transmit instructions to the rotating base to move the first mobile device a predetermined amount based on the movement of the new object such that the object is in a desired location in the field of view of the camera.
 14. The system of claim 13, the application further configured to control pan, crop or zoom operations of the camera based on a location of the new object with respect to the camera.
 15. The system of claim 10, wherein the connection between the first mobile device and the rotating base is established in response to forming a wired connection with a data port of the first mobile device and the rotating base.
 16. The system of claim 10, wherein the rotating based is configured to provide power to the first mobile device in response to the first mobile device coupling with the rotating base.
 17. The system of claim 10, wherein image data of a first display of the first mobile device is displayed on the second mobile device when in a screen sharing mode.
 18. A rotating base comprising: a motor; a communications device; a rotatable unit coupled to the motor; a coupling unit coupled to the rotatable unit; and a controller coupled to the motor and the communications device, the controller configured to: receive a mobile device in the coupling unit, wherein the mobile device is communicatively coupled to the rotating base using the communications device and physically coupled to the rotating base using the coupling unit; receive instructions to move the rotatable unit a predetermined amount from an application executing on the mobile device in response to the application capturing an identifier of an object located within a proximate distance of the mobile device from outgoing audio data captured by a microphone of the mobile device using natural language processing (NLP), wherein the application identifies the object within the proximate distance of the mobile device in the outgoing video data captured by the camera of the mobile device based on the identifier and the outgoing audio data including the identifier is output by a different object; and instruct the motor to rotate the rotatable unit the predetermined amount such that the object is within a field of view of the camera of the mobile device, wherein rotating the rotatable unit causes the coupling unit, which is physically coupled to the mobile device, to rotate the predetermined amount.
 19. The rotating base of claim 18, wherein the rotatable unit is configured to rotate about a rotational axis.
 20. The rotating base of claim 18, wherein the rotatable unit is configured to traverse along an x-axis, y-axis, and z-axis.
 21. The rotating base of claim 18, wherein the mobile device is coupled to the coupling unit using an attachment mechanism of the coupling unit.
 22. The rotating base of claim 18, wherein the communications device is communicatively coupled to the mobile device through a wired connection with a data port of the mobile device.
 23. The rotating base of claim 18, wherein the communications device is wirelessly communicatively coupled to the mobile device.
 24. The rotating base of claim 18, wherein the rotating based is configured to provide power to the first mobile device in response to the first mobile device coupling with the rotating base.
 25. The rotating base of claim 18, wherein image data of a first display of the first mobile device is displayed on the second mobile device when in a screen sharing mode.
 26. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause at least one computing device to perform operations comprising: receiving a streaming request to stream incoming audio data and video data received by a first mobile device from a second mobile device on a display device, from the first mobile device; streaming the incoming audio and the incoming video data to the display device; capturing an identifier of an object from outgoing audio data captured by a microphone of the first mobile device using natural language processing (NLP), wherein the object is located within a proximate distance of the first mobile device and the outgoing audio data including the identifier is output by a different object; identifying the object within the proximate distance of the first mobile device in outgoing video data captured by a camera of the first mobile device based on the identifier; and instructing the camera of the first mobile device to include the object in a field of view of the camera.
 27. The non-transitory computer-readable medium of claim 26, wherein a rotating base is configured to provide power to the first mobile device in response to the first mobile device coupling with the rotating base.
 28. The non-transitory computer-readable medium of claim 26, wherein image data of a first display of the first mobile device is displayed on the second mobile device when in a screen sharing mode. 